home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-04-25 | 2.0 KB | 71 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: FWMRefCt.cpp
- // Release Version: $ ODF 1 $
- //
- // Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #include "FWFound.hpp"
-
- #ifndef FWMREFCT_H
- #include "FWMRefCt.h"
- #endif
-
- #ifndef FWDEBUG_H
- #include "FWDebug.h"
- #endif
-
- //========================================================================================
- // RunTime Info
- //========================================================================================
-
- FW_DEFINE_CLASS_M0(FW_MRefCount)
-
- //========================================================================================
- // class FW_MRefCount
- //========================================================================================
-
- //----------------------------------------------------------------------------------------
- // FW_MRefCount::FW_MRefCount
- //----------------------------------------------------------------------------------------
-
- FW_MRefCount::FW_MRefCount() :
- fRefCount(1)
- {
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MRefCount::~FW_MRefCount
- //----------------------------------------------------------------------------------------
-
- FW_MRefCount::~FW_MRefCount()
- {
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MRefCount::Acquire
- //----------------------------------------------------------------------------------------
-
- long FW_MRefCount::Acquire()
- {
- return ++fRefCount;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_MRefCount::Release
- //----------------------------------------------------------------------------------------
-
- long FW_MRefCount::Release()
- {
- FW_ASSERT(fRefCount > 0);
-
- long result = --fRefCount;
-
- if (result == 0)
- delete this;
-
- return result;
- }
-